package com.tes.entity;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;

import com.tes.VO.PriorizacionVO;
import com.tes.VO.RequerimientoVO;

@Entity
public class Priorizacion implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private int idPriorizacion;
	@OneToOne
	private Persona persona;
	@OneToOne (cascade = CascadeType.ALL)
	private Requerimiento requerimiento;
	private int valor;
	private int esfuerzo;
	private String estado;
	
	public int getIdPriorizacion() {
		return idPriorizacion;
	}
	public void setIdPriorizacion(int idPriorizacion) {
		this.idPriorizacion = idPriorizacion;
	}
	public Persona getPersona() {
		return persona;
	}
	public void setPersona(Persona persona) {
		this.persona = persona;
	}
	public Requerimiento getRequerimiento() {
		return requerimiento;
	}
	public void setRequerimiento(Requerimiento requerimiento) {
		this.requerimiento = requerimiento;
	}
	public int getValor() {
		return valor;
	}
	public void setValor(int valor) {
		this.valor = valor;
	}
	public int getEsfuerzo() {
		return esfuerzo;
	}
	public void setEsfuerzo(int esfuerzo) {
		this.esfuerzo = esfuerzo;
	}
	public String getEstado() {
		return estado;
	}
	public void setEstado(String estado) {
		this.estado = estado;
	}
	public PriorizacionVO getPriorizacionVO(){
		
		PriorizacionVO resultado = new PriorizacionVO();
		resultado.setEsfuerzo(this.esfuerzo);
		resultado.setEstado(this.estado);
		resultado.setIdPriorizacion(this.idPriorizacion);
		resultado.setValor(this.valor);
		resultado.setPerfilUsuario(this.persona.getUsuario().getPerfil().getNombre());
		
		RequerimientoVO req = new RequerimientoVO();
		req.setDescripcion(this.requerimiento.getDescripcion());
		req.setNroRequerimiento(this.requerimiento.getNroRequerimiento());
		req.setIdRequerimiento(this.requerimiento.getIdRequerimiento());
		req.setNombre(this.requerimiento.getNombre());
		resultado.setRequerimiento(req);
		return resultado;
	}
}
